#include<stdio.h>
#include<malloc.h>
#define NULL 0
#define LEN sizeof(struct student)
struct student {
	long num;
	float score;
	struct student *next;
};
int n;

struct student *creat(void) {
	struct student *head;
	struct student *p1,*p2;
	n=0;
	p1=p2=(struct student *)malloc(LEN);
	printf("please input:");
		scanf("%ld %f",&p1->num,&p2->score);
	head=NULL;
	while(p1->num!=0){
		n=n+1;
		if(n==1)
			head=p1;
		else
			p2->next=p1;
		p2=p1;
		p1=(struct student *)malloc(LEN);
		printf("please input:");
		scanf("%ld %f",&p1->num,&p1->score);
	}
	p2->next=NULL;
	free(p1);
	return head;
}

void print(struct student * head){
	struct student * p;
	printf("\nNow,there %d records are:\n",n);
	p=head;
	if(head!=NULL)
		do{
			printf("%ld %5.1f\n",p->num,p->score);
			p=p->next;
		}while(p!=NULL);
}

void main(){
	struct student * head;
	head=creat();
	print(head);
}